#pragma once

using namespace std;

namespace ISAPI_Python {
	
	namespace Win32Helpers {

		class Win32Exception : public exception {
		protected:
			DWORD Win32ErrorCode;
			string ErrorMessage;
			const string GetErrorMessage(const DWORD errorCode) const;

		public:
			Win32Exception() throw();
			Win32Exception(const DWORD errorCode) throw();
			Win32Exception(const Win32Exception& otherWin32Exception) throw();
			Win32Exception& operator = (const Win32Exception& otherWin32Exception);
			virtual ~Win32Exception() throw();

			virtual const char* what() const throw();
			virtual const DWORD ErrorCode() const throw();
		};
	}

}